package com.example.shopping_mall.http;

import com.example.shopping_mall.bean.BannerObjectBean;
import com.example.shopping_mall.bean.BannerMiddleBean;
import com.example.shopping_mall.bean.BrandManagerLast;
import com.example.shopping_mall.bean.BrandManagerMiddle;
import com.example.shopping_mall.bean.BrandMiddleBean;
import com.example.shopping_mall.bean.GoodFreshBean;
import com.example.shopping_mall.bean.KillDetailMidPerBean;
import com.example.shopping_mall.bean.KillDetailMiddleBean;
import com.example.shopping_mall.bean.RecommendBean;
import com.example.shopping_mall.bean.RecommendListBean;
import com.example.shopping_mall.bean.SecondBean;
import com.example.shopping_mall.bean.SecondLastBean;
import com.example.shopping_mall.bean.SecondMiddleBean;
import com.example.shopping_mall.bean.SkuHeadBean;
import com.example.shopping_mall.bean.SkuMiddleBean;

import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
import rx.Observable;

public interface ShoppingInterface {
    //轮播图
    @POST("/api/v1/sale/findSmsHomeAdvertise")
    @FormUrlEncoded
    Observable<BannerObjectBean<BannerMiddleBean>> requestHomeAdvertise(@Field("status") int status);

    //品牌制造商
    @POST("/api/v1/sale/findSmsHomeBrandApp")
    @FormUrlEncoded
    Observable<RecommendListBean<BrandMiddleBean>> requestHomeBrandApp(@Field("recommendStatus") int recommendStatus);

    //品牌详情
    @POST("/api/v1/sale/findSmsHomeBrandApp")
    @FormUrlEncoded
    Observable<RecommendListBean<BrandMiddleBean>> requesfindSmsHomeBrandApp(@Field("brandId") int brandId);

    //品牌更多推荐
    @POST("/api/v1/product/brand/findPmsBrand")
    Observable<BannerObjectBean<BrandManagerMiddle<BrandManagerLast>>> requestfindPmsBrand();

    //品牌更多推荐详情
    @POST("/api/v1/product/brand/findPmsBrand")
    @FormUrlEncoded
    Observable<BannerObjectBean<BrandManagerMiddle<BrandManagerLast>>> requestPmsBrand(@Field("id") int id,@Field("factoryStatus") int factoryStatus);

    //秒杀专区首页列表
    @POST("/api/v1/sale/findSmsFlashPromotionProductRelation")
    Observable<BannerObjectBean<SecondMiddleBean>> requestPromotionProductRelation();

    //秒杀专区场次表
    @POST("/api/v1/sale/findSmsFlashPromotionSession")
    Observable<BannerObjectBean<KillDetailMiddleBean>> requestFlashPromotionSession();

    //秒杀详情列表
    @POST("/api/v1/sale/findSmsFlashPromotionProductRelation")
    @FormUrlEncoded
    Observable<BannerObjectBean<SecondMiddleBean>> requestFlashPromotionProductRelation(@Field("flashPromotionId") int flashPromotionId,@Field("start") int start,@Field("page") int page);

    //秒杀专区限购管理（时间）
    @POST("/api/v1/sale/findSmsFlashPromotion")
    Observable<BannerObjectBean<KillDetailMidPerBean>> requestfindSmsFlashPromotion();

    //新鲜好物
    @POST("/api/v1/sale/findSmsHomeNewProductPic")
    @FormUrlEncoded
    Observable<RecommendListBean<GoodFreshBean>> requestHomeNewProductPic(@Field("recommendStatus") int recommendStatus);

    //人气推荐
    @POST("/api/v1/sale/findSmsHomeRecommendProductPic")
    Observable<RecommendListBean<RecommendBean>> requestHomeRecommendProductPic();

    //商品sku
    @POST("/api/v1/product/attribute/findPmsProductAttribute")
    Observable<BannerObjectBean<SkuHeadBean<SkuMiddleBean>>> requestPmsProductAttribute();
}
